<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width,initial-scale">
        <meta http-equiv="X-UA-Compatible" content="ie=edge,chrome=1">
        <title>167. 两数之和 II - 输入有序数组</title>
    </head>
    <body>
        <section>
            给定一个已按照升序排列 的有序数组，找到两个数使得它们相加之和等于目标数。

            函数应该返回这两个下标值 index1 和 index2，其中 index1 必须小于 index2。

            说明:

            返回的下标值（index1 和 index2）不是从零开始的。
            你可以假设每个输入只对应唯一的答案，而且你不可以重复使用相同的元素。
            示例:

            输入: numbers = [2, 7, 11, 15], target = 9
            输出: [1,2]
            解释: 2 与 7 之和等于目标数 9 。因此 index1 = 1, index2 = 2 。
        </section>
        <pre class="language-JavaScript">
            <code>
                var twoSum = function(numbers, target) {
                    let l = 0, r = numbers.length - 1;
                    while(l < r) {
                        if(numbers[l] + numbers[r] === target) {
                            return [l + 1, r + 1];
                        } else if(numbers[l] + numbers[r] > target) {
                            r --;
                        } else {
                            l ++;
                        }
                    }
                };
            </code>
        </pre>
        <script>
            var twoSum = function(numbers, target) {
                let l = 0, r = numbers.length - 1;
                while(l < r) {
                    if(numbers[l] + numbers[r] === target) {
                        return [l + 1, r + 1];
                    } else if(numbers[l] + numbers[r] > target) {
                        r --;
                    } else {
                        l ++;
                    }
                }
            };
        </script>
    </body>
</html>